Page({
  data: {
    order: {
      _id: '',
      serviceName: '',
      serviceTime: '',
      address: '',
      contactName: '',
      contactPhone: '',
      servicePrice: 0,
      otherFee: 0,
      totalPrice: 0
    },
    paymentMethod: 'wechat'
  },

  onLoad(options) {
    // 获取订单ID
    const orderId = options.id
    
    // 加载订单信息
    this.loadOrderInfo(orderId)
  },

  // 加载订单信息
  loadOrderInfo(orderId) {
    // 模拟数据，实际项目中应该从云数据库获取
    const mockData = {
      _id: orderId,
      serviceName: '专业护理服务',
      serviceTime: '2025-09-23 09:00',
      address: '北京市朝阳区某某小区1号楼101',
      contactName: '张先生',
      contactPhone: '13800138000',
      servicePrice: 150,
      otherFee: 0,
      totalPrice: 150
    }
    
    this.setData({
      order: mockData
    })
    
    // 实际项目中的云数据库查询示例
    /*
    const db = wx.cloud.database()
    db.collection('orders')
      .doc(orderId)
      .get()
      .then(res => {
        this.setData({
          order: res.data
        })
      })
      .catch(err => {
        console.error('获取订单信息失败', err)
        wx.showToast({
          title: '加载失败，请重试',
          icon: 'none'
        })
      })
    */
  },

  // 选择支付方式
  onSelectPaymentMethod(e) {
    const method = e.currentTarget.dataset.method
    this.setData({
      paymentMethod: method
    })
  },

  // 支付按钮点击事件
  onPay() {
    // 显示加载中
    wx.showLoading({
      title: '支付处理中...',
    })
    
    // 模拟支付流程，实际项目中应该调用微信支付API
    setTimeout(() => {
      wx.hideLoading()
      
      // 模拟支付成功
      wx.showToast({
        title: '支付成功',
        icon: 'success'
      })
      
      // 更新订单状态为已支付
      this.updateOrderStatus('paid')
      
      // 跳转到订单详情页
      wx.redirectTo({
        url: `/pages/order/detail?id=${this.data.order._id}`
      })
    }, 1500)
    
    // 实际项目中的微信支付调用示例
    /*
    wx.requestPayment({
      timeStamp: '', // 支付时间戳
      nonceStr: '', // 随机字符串
      package: '', // 统一下单接口返回的 prepay_id 参数值
      signType: 'MD5', // 签名算法
      paySign: '', // 签名
      success: (res) => {
        wx.hideLoading()
        wx.showToast({
          title: '支付成功',
          icon: 'success'
        })
        
        // 更新订单状态为已支付
        this.updateOrderStatus('paid')
        
        // 跳转到订单详情页
        wx.redirectTo({
          url: `/pages/order/detail?id=${this.data.order._id}`
        })
      },
      fail: (err) => {
        wx.hideLoading()
        console.error('支付失败', err)
        wx.showToast({
          title: '支付失败，请重试',
          icon: 'none'
        })
      }
    })
    */
  },

  // 更新订单状态
  updateOrderStatus(status) {
    // 模拟更新订单状态，实际项目中应该调用云函数
    console.log(`更新订单状态为: ${status}`)
    
    // 实际项目中的云函数调用示例
    /*
    wx.cloud.callFunction({
      name: 'updateOrderStatus',
      data: {
        orderId: this.data.order._id,
        status: status
      },
      success: res => {
        console.log('订单状态更新成功', res)
      },
      fail: err => {
        console.error('订单状态更新失败', err)
      }
    })
    */
  }
})